package demo8;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.sql.Connection;
/**
 * 实际开发中,会出现框架之间的整合工作,多个框架协同工作,此时,非Spring框架提供的内容在设计时
 * 都不会因为Spring而添加注解(毕竟人家也是独立的可运行的框架)
 * 此时为了在Spring容器中整合,就需要将他们注册到容器中,便于完成自动装配,建立依赖关系.
 *
 * 例如我们后面所学习的MyBatis框架
 *
 *
 * 本案例目标:
 * 当前DBUtil类在链接数据库时,依赖数据库连接池DruidDataSource
 * 希望让Spring来管理该连接池,当我们这里需要使用时,由Spring将连接池注入
 * 带来的问题:
 * DruidDataSource没有@Component注解,不受Spring自动扫描管理的控制.
 * 因此需要主动将其初始化并注册到容器中
 */
@Component
public class DBUtil {
    @Autowired
private DruidDataSource ds;
public Connection getConnection() throws Exception{
    return ds.getConnection();
}
}
